package com.hx0311.pas;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.ServletContext;

import com.hx0311.pas.dept.dao.JgdyDao;
import com.hx0311.pas.security.usertype.dao.UserTypeDao;

/**
 * 初始化工具,随便叫的
 * 
 * @author Lunch
 */
@SuppressWarnings("unchecked")
public class SysUtil {

	public static void loadJgdy(ServletContext ctx) {
		JgdyDao jgDao = new JgdyDao();
		List<Map> jgs = jgDao.getAll();
		Map jgdyMap = new LinkedHashMap();
		for (Map jg : jgs) {
			jgdyMap.put(jg.get("JGM"), jg.get("JGMC"));
		}
		ctx.setAttribute(PasConstants.JG_MAP_STR, jgdyMap);
	}

	public static void loadRylb(ServletContext ctx) {
		UserTypeDao typeDao = new UserTypeDao();
		List<Map> types = typeDao.getAll();
		Map typeMap = new LinkedHashMap();
		for (Map type : types) {
			typeMap.put(type.get("RYLB"), type.get("LBMC"));
		}
		ctx.setAttribute(PasConstants.RYLB_MAP_STR, typeMap);
	}

	/**
	 * 获得ServletContext中的机构数据
	 * @param ctx
	 * @return
	 */
	public static Map getJgdyMap(ServletContext ctx) {
		if (ctx.getAttribute(PasConstants.JG_MAP_STR) == null){
			loadJgdy(ctx);
		}
		return (Map) ctx.getAttribute(PasConstants.JG_MAP_STR);
	}

	/**
	 * 获得ServletContext中的人员类别数据
	 * @param ctx
	 * @return
	 */
	public static Map getRylbMap(ServletContext ctx) {
		if (ctx.getAttribute(PasConstants.RYLB_MAP_STR) == null){
			loadRylb(ctx);
		}
		return (Map) ctx.getAttribute(PasConstants.RYLB_MAP_STR);
	}

	private SysUtil() {
	}
}
